package karaoke.negocio;

import java.util.Collection;
import karaoke.dao.ProductoDAO;
import karaoke.dao.TipoProductoDAO;
import karaoke.excepcion.DAOExcepcion;
import karaoke.modelo.Producto;
import karaoke.modelo.TipoProducto;

public class GestionProducto {

	ProductoDAO dao = new ProductoDAO();
	
	public Producto insertar(String nombre,double precio,String disponibilidad,int codigo_tipo_producto)
			throws DAOExcepcion {
			
				Producto prod=new Producto();
				TipoProducto tipoprd=new TipoProducto();
				
				tipoprd.setCodigo(codigo_tipo_producto);
				prod.setNombre(nombre);
				prod.setPrecio(precio);
				prod.setDisponibilidad(disponibilidad);
				prod.setTipoProducto(tipoprd);
				prod.setEliminado(0);
				
				return dao.insertar(prod);			
			}

		public Collection<Producto> buscarPorNombre(String nombre)
				throws DAOExcepcion {
				return dao.buscarPorNombre(nombre);
		}

		public Producto obtener(int idProducto) throws DAOExcepcion {
				return dao.obtener(idProducto);
		}

		public Producto actualizar(int idProducto, String nombre,double precio,String disponible,TipoProducto tiprd) throws DAOExcepcion {
			
			Producto prod = new Producto();
			prod.setNombre(nombre);
			prod.setPrecio(precio);
			prod.setDisponibilidad(disponible);
			prod.setTipoProducto(tiprd);
			prod.setCodigo(idProducto);			
			
		    return dao.actualizar(prod);
		}

		public Collection<Producto> listar() throws DAOExcepcion {
			return dao.listar();
		}
		
		public Producto eliminarProducto(int idProducto) throws DAOExcepcion{
			Producto prod = new Producto();
			prod.setTipoProducto(new TipoProducto());
			prod.setCodigo(idProducto);
			prod.setEliminado(1);
			
			return dao.eliminarProducto(prod);
		}
		
		public Producto activarProducto(int idProducto) throws DAOExcepcion{
			Producto prod = new Producto();
			prod.setTipoProducto(new TipoProducto());
			prod.setCodigo(idProducto);
			prod.setEliminado(0);
			
			return dao.eliminarProducto(prod);
		}
		
		public Collection<TipoProducto> listarTipoProd() throws DAOExcepcion {
			TipoProductoDAO tiprodDAO=new TipoProductoDAO();
			return tiprodDAO.obtener();
		}
}
